using RealtimeCollabGame.Domain.Entities;

namespace RealtimeCollabGame.Application.Interfaces;

public interface IGameRepository
{
    Task<Game?> GetByIdAsync(Guid id);
    Task<Game?> GetByCodeAsync(string code);
    Task<IEnumerable<Game>> GetAllAsync();
    Task<Game> AddAsync(Game game);
    Task<Game> UpdateAsync(Game game);
    Task DeleteAsync(Guid id);
    Task<bool> ExistsAsync(Guid id);
    Task<bool> ExistsByCodeAsync(string code);
} 